package com.biao.threads_test;

public class Test01_Thread extends Thread {

    /**
     * 新创建的线程执行的代码，就在run()方法种，执行完毕，线程死亡
     */
    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName() + "我是子线程...");
        try {
            /*
            主线程里调用了子线程，和子线程同时执行，子线程如果报错不会影响主线程逻辑
            主线程执行完毕后，会等子线程执行完毕才会主线程结束。
            */
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        System.out.println(Thread.currentThread().getName() + "子线程执行完毕");

    }

    public static void main(String[] args) {    // 先执行main线程，才会执行子线程
        // 启动线程 调用start()方法，而不是run()方法
        // 调用了start()线程不会立马被CPU执行，是变成了就绪状态，等待CPU调度，线程就从 就绪状态 变成运行状态
        new Test01_Thread().start();
        new Test01_Thread().start();     // 再创建个线程
        System.out.println(Thread.currentThread().getName());

    }
}
